The present invention relates to audio applications in general and, in particular, to collaborative music creation.
It may be desirable to collaborate on creating and experiencing music for a number of reasons. One reason is that musicians have varying levels of skill in the many facets of music, including performance on different instruments, music reading, music theory, music composition, lyric composition, orchestration, and production. Another reason is that each musician may have particular influences, background, affinities, and other traits that affect artistic vision. Yet another reason is that musicians may want to work together from remote locations.
Even relatively advanced music collaboration environments are often limited in functionality, due to the fact that they lack the ability to process music contributions in many useful ways. For example, some existing environments allow contributors to upload audio files as tracks, which may be layered for playback. Some may even provide certain limited signal processing capabilities, like modifications in the amplitude of the signal (e.g., for fading) or the ability to cut, copy, or paste sections of the signal.
Certain types of music collaboration, however, may desire to deal with music contributions at a more elemental level (e.g., individual notes, keys, tempos, chord changes, motifs, patterns, timbre, etc.). For example, contributors may desire to change the instrumentation of a track, to transpose sections of a melody, to insert individual notes, to analyze chord progressions of certain contributions, to synchronize contributions from multiple contributors, and to have access to many other capabilities. Providing many of these capabilities may require that the music contributions are processed to extract certain types of elemental information from the audio signal.
For at least these reasons, it may be desirable to provide improved capabilities for music collaboration at the elemental level.